This invention generally relates to data processing systems and more specifically to secondary storage facilities connected in such systems.
Secondary storage facilities comprise elements which are not an integral part of a central processing unit and its random access memory element, but which are directly connected to and controlled by the central processing unit or other elements in the system. These facilities are also known as "mass storage" elements and include magnetic tape memory units, disk units and drum units.
These facilities are also termed "sequential access storage units" because the information stored in one of these units becomes available, or is stored, only in a "one-after-the-other" sequence, whether or not all the information or only some of it is desired. For example, it is usual practice to retrieve information from a disk unit on a "sector-by-sector" basis, even though only one of several information records in a sector is needed. Similarly, a physical record on a tape is analogous to a sector on a disk and a complete physical record may be retrieved even though it may contain more than one relevant information record.
These devices are also "serial storage devices". In a serial storage device time and sequential position are factors used to locate any given bit, character, word or groups of words appearing one after the other in time sequence. The individual bits appear or are read serially in time.
In modern data processing systems a secondary storage facility includes a controller and one or more drives connected thereto. The controller operates in response to signals from the data processing system, usually on an input/output bus which connects together other elements in the system including the central processing unit. A drive contains the recording medium (e.g., tape or a rotating disk), the mechanism for moving the medium, and electronic circuitry to read data from or store data on the medium and also to convert the data between serial and parallel formats.
The controller appears to the rest of the system as any other system element on the input/output bus. It receives commands over the bus which include command information about the operation to be performed, the drive to be used, the size of the transfer, the starting address on the drive for the transfer, and the starting address in some other system element, such as a random access memory unit. The controller converts all this command information into the necessary signals to effect the transfer between the appropriate drive and other system element. During the transfer itself, the controller routes the data to or from the appropriate drive and from or to the input/output bus or a memory bus.
In prior systems, each secondary storage facility was unique. That is, a controller was designed to link a specific drive to a specific data processing system and a drive was designed to be connected to a specific controller. If a new drive was developed, a new controller was also developed. This was especially true if the new drive was a different type of drive. For example, if a new magnetic tape drive was developed for a system, it was not possible to use an existing disk drive controller for that system in conjunction with the new tape drive. Rather, it was necessary to design a new magnetic tape drive controller.
This procedure, of course, led to duplications of engineering effort, even when the same manufacturer introduced new drives or data processing systems. Entirely new secondary storage facilities were usually developed. The uniqueness of each of the drives and controllers also led to user problems. If a user already had a system, he often had to replace both drives and controllers to obtain the benefits of a new drive. Furthermore, a controller was adapted to operate with one type of drive, so it was not possible to intermix the same types of drives (e.g., different disk drives) on one controller. This sometimes necessitated a different controller for each drive even though neither controller was used to capacity.
Therefore, it is an object of this invention to improve the operation of a secondary storage facility including a controller and a drive.
Another object of this invention is to provide such a facility in which the drive design is independent of a particular controller or data processing system.
Still another object of this invention is to provide such a facility in which the controller design and operation are independent of the controlled drive.
Yet another object of this invention is to provide such a facility in which a single controller can control different types of drives.
Still yet another object of this invention is to provide such a facility in which a single drive can be used with different kinds of data processing systems.